Business decision makers often use business intelligence analytical software to pose operational performance questions as queries against their data sources. The basic capabilities of querying and reporting functions is extended by On-line Analytical Processing (OLAP). OLAP provides a number of key benefits that enable users to make more efficient managerial and strategic decisions by providing a robust multidimensional understanding of the data from a variety of perspectives and hierarchies in a multidimensional database. Business decision makers who require access to large amounts of data in order to make their business decisions are able to use OLAP to manipulate data quickly and effectively.
Exemplary analytical and navigational activities provided by OLAP include:                calculations and modeling applied across dimensions, through hierarchies and/or across members;        trend analysis;        slicing subsets;        drill-down to deeper dimensional levels of consolidation;        drill-through to other detail data; and        pivot to new dimensional comparisons.        
Other OLAP functionality that provides insights into business growth, spending, and sales patterns includes operations for ranking, moving averages, growth rates, statistical analysis, and “what if” scenarios.
Multidimensional databases intuitively view data as a multidimensional structural metaphor called a cube whose cells correspond to events that occurred in the business domain. Each event is quantified by a set of measures; each edge of the cube corresponds to a relevant dimension for analysis, typically associated to a hierarchy of attributes that further describe it. A multidimensional database may further comprise a collection of related cubes. Dimensions, such as an essential and distinguishing concept in multidimensional databases, are used for selecting and aggregating data at the desired level of detail.
FIG. 1(a) illustrates the conceptual structure of a multidimensional database 100. A dimension 102, 104, or 106 is a structural attribute that is a list of members, all of which are of a similar type in the user's perception of the data. For example, the year 2005 108 and all quarters, Q1 110, Q2 112, Q3 114, and Q4 116, are members of the Time dimension 102; the Outdoor 118, Environmental 120 and Sport 122 are members of the Product dimension 104; and Revenue 124, Cost 126 and Profit 128 are members of the Measures dimension 106. Moreover, each dimension 102, 104, or 106 is considered a member of the multidimensional database 100.
Within each dimension data can be organized into a hierarchy that represents levels of detail on the data. For example, within the time dimension 102, there may be levels for years, months, and days; a geography dimension may include: country, region, province, and city levels; and the product dimension may also include multiple levels, for example, category and product.
Hierarchies and levels of the dimensions typically display the same data in different formats such as time data can appear as months or quarters. Levels typically allow the data to be rolled-up into increasingly less detailed information such as in a geography dimension where cities roll-up into provinces which roll-up into counties and so forth.
FIG. 1(b) illustrates the logical structure of a multidimensional database 130 arranged as a multidimensional array, or a cube, every data item in the multidimensional database 130 is located and accessed based on the intersection of the members of the dimensions 102, 104 and 106. The array comprises a group of data cells arranged by the dimensions 102, 104 and 106 of the data.
Cubes generally have hierarchies or formula-based relationships of data within each dimension. A dimension therefore acts as an index for identifying values within the cube. Dimensions offer a very concise, intuitive way of organizing and selecting data for retrieval, exploration and analysis. Current business intelligence analytical software enables the business decision makers to explore OLAP cubes on their own. The exploration of data may be facilitated by a structured report such as a cross tabulation, or cross-tab, on a user interface.
In the multidimensional database example 130 shown as a cube in FIG. 1(b), the dimensions are Time 102, Product 104, and Measures 106. The cube is three dimensional, with each dimension represented by an edge axis of the cube. The intersection of the dimension members are represented by cells in the multidimensional database that specify a precise intersection along all dimensions that uniquely identifies a single data point. For example, the intersection of Q4 116, Revenue 124 and Environmental 120 contains the value, 132, representing the revenue for environmental products in the fourth quarter of 1997.
Dimensionality may be reduced by filtering a dimension to a single member, i.e. one dimension is held constant. If one member of the dimensions is selected, then the remaining dimensions in which a range of members, or all members are selected defining a sub-cube in which the number of dimensions is reduced by one. If all but two dimensions have a single member selected, the remaining two dimensions define a slice or a page. If all dimensions have a single member selected, then a single cell is defined.
Referring to FIG. 1(c) a two-dimensional slice corresponding to data for Revenue 124 has been sliced from the Measure dimension 106 to generate a slice across that dimension.
A slicer is a set of members which generates a subset or a slice of the multidimensional cube.
Cubes generally have hierarchies or formula-based relationships of data within each dimension. Consolidation involves computing all of these data relationships for one or more dimensions. An example of consolidation is adding up all revenues in the first quarter. While such relationships are normally summations, any type of computational relationship or formula might be defined. In fact, there is no strict requirement to even have a relationship defined.
Members of a dimension are included in a calculation to produce a consolidated total for a parent member. Children may themselves be consolidated levels, which require that they in turn have children. A member may be a child for more than one parent, and a child's multiple parents may not necessarily be at the same hierarchical dimensional level, thereby allowing complex, multiple hierarchical aggregations within any dimension.
Drill-down to show more detail, roll-up to show less detail, pivot to change axis dimensions are currently available analytical techniques whereby the business decision maker navigates among dimensional levels of data ranging from the summarized to the detailed.
When a data value of interest, for example, data which is outside a predictable pattern or a typical range, has been discovered, a typical course of action is to drill-down into more details to get a breakdown of how a value is constituted based on lower-level members in a multidimensional hierarchy. If there are no lower-level members to drill-down to, the business decision makers may have the option to “drill-through” to an alternate exploration instance that might provide more detail about how the data value of interest resulted from its constituent parts. The drill-down and drill-through tasks typically require user experience. A user may have to experiment, using trial and error, with many possible data displays, before finding interesting exceptions. Therefore, the results of these data explorations may not be easily reproducible. To explore manually all the data values in the context of a multidimensional cube outside the drill path may not be practical. A multidimensional database may include many dimensions, each with a hierarchy of many dimensional levels, with each dimensional level including hundreds of member data elements, any one of which may be data with special interest.
Drilling down to more details may provide some insight into which constituent members are contributing to the data value of interest, but may not pinpoint the causality in data values. Major influencers for the data value of interest could be on a specific data value in the context of a multidimensional cube, outside the drill path, i.e. not part of the dimensions making up the cross-tab, therefore the question of “why” is not answered completely.
In general, when a data value of interest is found in a structured report, for example, on a cross-tab, prior art does not provide a method to move to an analytical view of that data value of interest in real time.
The limitations to the drill-down and drill-though in a structured report are partially due to the fact that the reports, as presented to the user, are first created using a layout defined before data is added. A family of reports is usually set up by an administrator, and a drill-path is predefined from the start to the finish.
It is possible to defer the initial query of the data source used in the conventional reporting tools and methods until after the report has been defined, i.e. to use the analytic report for defining an automatically generated query. Once the report has been defined, the data to populate such a report is retrieved to build the document. This approach has been used, for example, in the “Impromptu ™” family of products of Cognos Incorporated, the assignee of the present patent application. A brief description of the Impromptu products may be permanently retrieved at: http ://web.archive.org/web/19991103193927/http://www.cognos.com/index.html, the contents of the document are incorporated hereby by reference in its entirety.
Another attempt has been made to convert data in a structured report to formulas provided in a spreadsheet, and place that data into arbitrary cells in a spreadsheet application. A report is built using functionality included in the spreadsheet application and a structured report before converting the report into a set of formulas. The user may use the structured report's field list to choose the categories of data to be included in the report
However, prior art lacks the ability to seamlessly move from a report view of a structured report to an analysis view while retaining the dynamic context involved with defining a data value of interest, and performing a selected analysis on the data value of interest at the same time.
There is therefore a need to provide a user a system and a method to easily move from a data value of interest in a structured report to an analytical view of specific data without the loss of context fidelity.
There is a further need for a system and a method to perform analysis of the data value of interest before displaying the data to the user.